/**
 * 属性设置
 */
$(function(){
	
	$("#signDiv").hide();

	//任务委派人员选择器
	$("#actorIds").click(function(){
		if(configs.curXmlNode != null){
			var actorIds = configs.curXmlNode.getAttribute("actorIds");
			var actorType = configs.curXmlNode.getAttribute("actorType");
			var _url = configs.selector_url + "?actorIds="+actorIds+'&actorType='+actorType;
		 	$("#selectorFrame").attr("src", _url);
			$('#selectorWin').window('open');
		} else {
			$.messager.alert('信息提示','请选中任务节点!','info');
		}

	});
	
	//操作事件
	$('#operates').combogrid({ 
		panelWidth:300, 
		//value:'006', 
		editable:true,
		multiple: true,
		idField:'operateId', 
		textField:'operateName', 
		url:'operate/queryList', 
		columns:[[ 
		    {field:'ck',checkbox:true},
			{field:'operateName',title:'操作名称',width:100}, 
			{field:'operateEvent',title:'操作事件',width:120}
		]],
		
		onHidePanel:function(){
			var operate = '';
			var rows = $('#operates').combogrid('grid').datagrid('getSelections');	// 获取选择的行
			for(var i = 0; i < rows.length; i++) {
				if(i > 0) { operate += ','; }
				operate += rows[i].operateId+'-'+rows[i].operateName;	
			}
			configs.curXmlNode.setAttribute("operate", operate);//修改节点HTML信息
		}
	});
	/**
	$('#formTypeId').combobox({
		url:'forms/formsJson',    
	    valueField:'id',    
	    textField:'text', 
		onSelect: function(){ 
			
           alert(900); 
        }
	});*/
	
	//默认初始化节点属性check事件
	var nodeAttrs = ['dynamicSelect','dynamicJump','trunTodo','isRevoke','isReject','turnToPromoter','fileUp'];
	for (var i=0; i<nodeAttrs.length; i++){
		$("#"+nodeAttrs[i]).click(function(){
			if(configs.curXmlNode != null){
				//console.log('nodeAttrs[i]==='+$(this).attr('name'));
				if ($(this).is(":checked")) {
					configs.curXmlNode.setAttribute($(this).attr('name'), 1);
				} else {
					configs.curXmlNode.setAttribute($(this).attr('name'), 0);
				}
			}
		});
	}
	
	//节点位置XY失去焦点事件
	$("#nodeX").blur(function(){
		if(configs.curXmlNode != null){
			
			modifyPosition(parseInt($("#nodeX").val()), parseInt($("#nodeY").val()));
		}

	});
	
	$("#nodeY").blur(function(){
		if(configs.curXmlNode != null){
			modifyPosition(parseInt($("#nodeX").val()), parseInt($("#nodeY").val()));
		}
	});
});

function modifyPosition(nodeX, nodeY){
	//console.log('---------------------modifyPosition-------------');
	//console.log(typeof nodeX);
	configs.curXmlNode.setAttribute("g", nodeX+','+nodeY+',110,50');
	
	var divP = getNodeDivPosition(nodeX, nodeY, configs.curNode.nodeType);
	$('#'+configs.curNode.id).css("left", divP.x).css("top", divP.y);
	

//	configs.canvas.forEach(function (el) {
//		//
//		if(el.id == configs.curNode.id){
//			//console.log('--node.click--5666666------el.id=='+el.id);
//			el.nodeX = nodeX; 
//			el.nodeY = nodeY;
//			el.attr( { x: nodeX, y: nodeY });
//
//
//		}
//	});
	
	configs.curNode.attr({ x: nodeX, y: nodeY });
//	console.log('---------------------------configs.connections[i]-----------------------------');
	for (var i = configs.connections.length; i--; ) {
		//console.log(configs.connections[i]);
		configs.canvas.drawArr(configs.connections[i]);	
	}
	//console.log('---------------------------configs.connections[i]-------end----------------------');

}

/** 流程表单 */
function formsChange(res){
	//alert(res.id+' &&'+res.text);
	if(configs.curXmlNode != null){
		configs.curXmlNode.setAttribute("forms", res.formTypeId);
	} else {
		var proNode = configs.xml.documentElement;
		proNode.setAttribute("forms", res.formTypeId);
	}

}

/****************************显示流程属性******************************************/

function showNodeProperty(){
	console.log('-------------------showNodeProperty-----------------------------------------');
	$("#baseName").val("");
	$("#signDiv").hide();
	$("#nodeAttrDiv").hide();
	$("#opDiv").hide();
	//alert($('#formTypeId'));
	//$('#formTypeId').combobox('setValue', '178451');
	//console.log(configs.curXmlNode);
	//console.log('-------------------configs.curXmlNode-----------------------------------------');
	//动态分配  动态跳转  转办  回收  驳回	 任务发起人  附件文书
	var nodeAttrs = ['dynamicSelect','dynamicJump','trunTodo','isRevoke','isReject','turnToPromoter','fileUp'];
	for (var i=0; i<nodeAttrs.length; i++){
		$("#"+nodeAttrs[i]).attr('checked', false);
	}
	
	if(configs.curXmlNode != null){
		$("#baseName").val(configs.curXmlNode.getAttribute("name"));
		var nodeg = configs.curXmlNode.getAttribute("g")
		var nodegArr = nodeg.split(',');
		
		$("#nodeX").val(nodegArr[0]);$("#nodeY").val(nodegArr[1]);
		//console.log(configs.curXmlNode.nodeName);
		switch (configs.curXmlNode.nodeName) {
			case 'task':
				$("#nodeAttrDiv").show();
				$("#opDiv").show();
				$("#signDiv").hide();
				//初始化会签值
				break;
			case 'sign':
				$("#nodeAttrDiv").show();
				$("#opDiv").show();
				$("#signDiv").show();
				//初始化会签值
				break;
			//case 'decision' :
				//break;
			default:
				break;
		}
		
	
		//动态分配  动态跳转  转办  回收  驳回	 任务发起人  附件文书
		/*for (i in nodeAttrs){
			var checkNode = configs.curXmlNode.getAttribute(nodeAttrs[i]);
			if(checkNode=='1'){
				$("#"+nodeAttrs[i]).attr('checked', 'checked');
			}
		}*/
		for (var i=0; i<nodeAttrs.length; i++){
			var checkNode = configs.curXmlNode.getAttribute(nodeAttrs[i]);
			if(checkNode=='1'){
				$("#"+nodeAttrs[i]).attr('checked', 'checked');
			}
		}
		//节点操作
		var operates = new Array();
		var operate = configs.curXmlNode.getAttribute("operate");
		if(operate){
			var operateArr = operate.split(',');
			for(var i=0; i<operateArr.length; i++){
				var op = operateArr[i].split('-');
				operates.push(op[0]);
			}
			
			//console.log('--------------operates-------------------------------');
			//console.log(operates);
			$('#operates').combogrid('setValues', operates);
		} else {
			$('#operates').combogrid('setValues', []);
		}
		//任务委派
		var actorType = configs.curXmlNode.getAttribute("actorType");
		var actorIds = configs.curXmlNode.getAttribute("actorIds");
		if (actorIds != '') {
			$("#actorIds").val('【'+actorType+'】 '+actorIds);
		}
	} else {
		if(configs.xml != null){
			//console.log('-------------------process property-----------------------------------------');
			var proNode = configs.xml.documentElement;
			////console.log(proNode);
			$("#baseName").val(proNode.getAttribute("name"));
			//Ext.getCmp("assigHandler").setValue('');

		//	Ext.getCmp("formType").setValue(processNode.getAttribute("forms"));
		//	Ext.getCmp("formType").select(formStore.findRecord('FORM_ID', processNode.getAttribute("forms")));
		//	Ext.getCmp("timeLimit").setValue(processNode.getAttribute("timeLimit"));
			
		}
	}
}

//修改连线结束节点名称是同时修改相应的连线属性
function updateTransitionByEndName(endNodeName, value){
	//console.log('endNodeName=============='+endNodeName+'	&&value==='+value);
	var lines = configs.xml.getElementsByTagName("transition");
	if(lines.length > 0) {
		for(var i = 0; i < lines.length; i++) {
			if(lines[i].getAttribute("name") == endNodeName ){
				//modifyXmlNodeAttribute(lines[i], "to", value);
				modifyXmlNodeAttribute(lines[i], "name", value);
			}					
		}	
	}
}

//基本信息-名称键盘事件
function baseNameKeyup(obj) {
	if(configs.curXmlNode != null){
		//获取节点最初名称以用于获取连线
		var orginName = configs.curNode.title;
//		opts.curXmlNode.setAttribute("name", $(obj).val());
//		opts.curNode.title = $(obj).val();
//		$("#" + opts.curNode.id).find('b').remove();
//		$("#" + opts.curNode.id).append('<b>' + $(obj).val() + '</b>');

		//修改节点HTML信息
		configs.curXmlNode.setAttribute("name",$(obj).val());
		//修改矢量对象信息
		configs.curNode.title = $(obj).val();
		$("#" + configs.curNode.id).find('b').remove();
		$("#" + configs.curNode.id).append('<b>' + $(obj).val() + '</b>');
		//根据节点修改相应连线的属性
		updateTransitionByEndName(orginName, $(obj).val());
	} else {
		configs.xml.documentElement.setAttribute("name", $(obj).val());
		
	}
}


function formTypeBlur(){
	alert(4556);
}